2

简介

docker容器编排工具,实现对docker多容器的控制
  • 重要概念

    • 服务 ( service ):一个应用的容器,实际上可以包括若干运行相同镜像的容器实例
    • 项目 ( project ):由一组关联的应用容器组成的一个完整业务单元,在 dockercompose.yml 文件中定义
  • 使用步骤

    • Dockerfile 定义应用的运行环境
    • docker-compose.yml 定义组成应用的各服务
    • docker-compose up 启动整个应用

安装与使用

  • 二进制包安装安装
sudo curl -L https://github.com/docker/compose/releases/download/1.17.1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo rm /usr/local/bin/docker-compose
  • pip3 安装
sudo pip3 install -U docker-compose
  • 安装确认
docker-compose --version
  • 编写dockerfile
https://segmentfault.com/a/1190000015849347
  • 编写docker-compose.yml
# cat docker-compose.yml 
version: '1'
services:
  sms:
    build: .
    ports:
     - "5000:5000"
    volumes:
     - .:/data/sms
    depends_on:
     - redis
  redis:
    image: redis
  • 运行
docker-compose up

后记
  • 上面的docker-compose.yml解读
定义了两个服务:sms, redis
sms容器通过当前路径下的Dockerfile生成
sms容器内的5000端口映射到主机的5000端口
将当前目录挂载到web容器内/data/sms
web容器依赖于redis容器
redis容器从Docker Hub获取镜像
  • 其他命令

    • daemon模式启动/停止

      docker-compose up -d
    • 停止

      docker-compose stop
    • 查看

      docker-compose ps
    • 对容器执行命令(一次)

      docker-compose run services cmd
      eg: docker-compose run sms env
参考

EngineerLeo
598 声望38 粉丝

专注于云原生、AI等相关技术